home *** CD-ROM | disk | FTP | other *** search
- /*
- File: SampleDriver.h
-
- Contains: Header file for Sample module
-
- Version: xxx put version here xxx
-
- Copyright: © 1997-1998 by Apple Computer, Inc., all rights reserved.
-
- Writers:
-
- (CJK) Craig Keithley
-
- Change History (most recent first):
-
- */
- #ifndef __SampleDriverH__
- #define __SampleDriverH__
-
- #include <Types.h>
- #include <Devices.h>
- #include <DriverServices.h>
- #include <Processes.h>
- #include <CursorDevices.h>
- #include <USB.h>
- #include "hex2c.h"
-
- #define kDriverName "\pSampleDriver"
-
- OSStatus SampleDriverValidateHW(USBDeviceRef device, USBDeviceDescriptor *desc);
- OSStatus SampleDeviceInitialize(USBDeviceRef device, USBDeviceDescriptorPtr pDesc, UInt32 busPowerAvailable);
- OSStatus SampleInterfaceInitialize(UInt32 interfacenum, USBInterfaceDescriptorPtr pInterface, USBDeviceDescriptorPtr pDesc, USBDeviceRef device);
- OSStatus SampleDriverFinalize(USBDeviceRef theDeviceRef, USBDeviceDescriptorPtr pDesc);
- OSStatus SampleDriverNotifyProc(UInt32 notification, void *pointer, UInt32 refcon);
-
- OSStatus SampleWrite(USBPB *pb, UInt32 sampleAddress, UInt32 count, UInt8 writeBuffer[]);
-
- Boolean immediateError(OSStatus err);
-
- void InitiateTransactionProc(USBPB *pb);
- void TransactionCompletionProc(USBPB *pb);
-
- void DeviceInitialize(USBDeviceRef device, USBDeviceDescriptorPtr pDeviceDescriptor, UInt32 busPowerAvailable);
-
- void InitParamBlock(USBDeviceRef theDeviceRef, USBPB * paramblock);
-
- #define kSampleRetryCount 3
- enum driverstages
- {
- kUndefined = 0,
- kFindInterface,
- kOpenDevice,
- kAssert8051Reset,
- kDownload8051Firmware,
- kNegate8051Reset,
- kReturnFromDriver = 0x1000,
- kRetryTransaction = 0x2000,
- kSyncTransaction = 0x4000,
- kCompletionPending = 0x8000
- };
-
-
- typedef struct
- {
- USBPB pb;
- void (*handler)(USBPB *pb);
-
- UInt32 refcon;
-
- UInt32 interfaceNumber;
- UInt32 configurationNumber;
-
- USBDeviceRef deviceRef;
- USBInterfaceRef interfaceRef;
- USBPipeRef pipeRef;
-
- SInt32 retryCount;
- SInt32 transDepth;
-
- UInt8 writeBuffer[32];
- UInt32 recordnum;
- UInt32 busPowerAvailable;
- } usbSamplePBStruct;
-
- #define k8051_USBCS 0x7f92
-
- #endif //__SampleDriverH__